const Koa = require('koa')
// 路由模块
// const _ = require('koa-route')
const route = require('koa-route')
// 实例化后得到koa实例对象
const app = new Koa()
// 绑定端口
app.listen(3000, () => console.log('http://localhost:3000'))
// 利用中间件能力完成静态资源托管
app.use(require('koa-static')('./www'))

// 路由
app.use(route.get('/home', async ctx => {
  ctx.body = '我是一个HOME页面@'
}))
app.use(route.post('/home', async ctx => {
  ctx.body = '我是一个post@'
}))

// 动态路由参数
// 动态路由参数的获取通过回调函数中的形参来进行获取，形参的名称可以与定义的名称不一致，但顺序要一致
// app.use(route.get('/news/:id/:name', async (ctx, id,name, next) => {
app.use(route.get('/news/:id/:name', async (ctx, uid, name, next) => {
  console.log('动态参数中的：id值为：', uid, name)
  ctx.body = '<h3>新闻内容页</h3>'
}))

// search字符串
app.use(route.get('/search', async ctx => {
  console.log(ctx.request.query)
  if (ctx.request.query.id == 1) {
    // 重定向
    ctx.redirect('/home')
  } else {
    ctx.body = '<h3>搜索页面</h3>'
  }
}))

